minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
↳ QTRS
↳ Non-Overlap Check
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
IF3(false, s1(X), s1(Y)) -> MINUS2(Y, X)
IF3(true, s1(X), s1(Y)) -> GCD2(minus2(X, Y), s1(Y))
IF3(false, s1(X), s1(Y)) -> GCD2(minus2(Y, X), s1(X))
MINUS2(X, s1(Y)) -> PRED1(minus2(X, Y))
LE2(s1(X), s1(Y)) -> LE2(X, Y)
GCD2(s1(X), s1(Y)) -> IF3(le2(Y, X), s1(X), s1(Y))
GCD2(s1(X), s1(Y)) -> LE2(Y, X)
IF3(true, s1(X), s1(Y)) -> MINUS2(X, Y)
MINUS2(X, s1(Y)) -> MINUS2(X, Y)
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IF3(false, s1(X), s1(Y)) -> MINUS2(Y, X)
IF3(true, s1(X), s1(Y)) -> GCD2(minus2(X, Y), s1(Y))
IF3(false, s1(X), s1(Y)) -> GCD2(minus2(Y, X), s1(X))
MINUS2(X, s1(Y)) -> PRED1(minus2(X, Y))
LE2(s1(X), s1(Y)) -> LE2(X, Y)
GCD2(s1(X), s1(Y)) -> IF3(le2(Y, X), s1(X), s1(Y))
GCD2(s1(X), s1(Y)) -> LE2(Y, X)
IF3(true, s1(X), s1(Y)) -> MINUS2(X, Y)
MINUS2(X, s1(Y)) -> MINUS2(X, Y)
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
LE2(s1(X), s1(Y)) -> LE2(X, Y)
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
LE2(s1(X), s1(Y)) -> LE2(X, Y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
MINUS2(X, s1(Y)) -> MINUS2(X, Y)
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
MINUS2(X, s1(Y)) -> MINUS2(X, Y)
[MINUS1, s1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
IF3(true, s1(X), s1(Y)) -> GCD2(minus2(X, Y), s1(Y))
IF3(false, s1(X), s1(Y)) -> GCD2(minus2(Y, X), s1(X))
GCD2(s1(X), s1(Y)) -> IF3(le2(Y, X), s1(X), s1(Y))
minus2(X, s1(Y)) -> pred1(minus2(X, Y))
minus2(X, 0) -> X
pred1(s1(X)) -> X
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(s1(X), 0) -> false
le2(0, Y) -> true
gcd2(0, Y) -> 0
gcd2(s1(X), 0) -> s1(X)
gcd2(s1(X), s1(Y)) -> if3(le2(Y, X), s1(X), s1(Y))
if3(true, s1(X), s1(Y)) -> gcd2(minus2(X, Y), s1(Y))
if3(false, s1(X), s1(Y)) -> gcd2(minus2(Y, X), s1(X))
minus2(x0, s1(x1))
minus2(x0, 0)
pred1(s1(x0))
le2(s1(x0), s1(x1))
le2(s1(x0), 0)
le2(0, x0)
gcd2(0, x0)
gcd2(s1(x0), 0)
gcd2(s1(x0), s1(x1))
if3(true, s1(x0), s1(x1))
if3(false, s1(x0), s1(x1))